/**
 * 获取用户信息和订单（各延迟1s）
 * @returns {Promise<unknown>}
 */
// 模拟获取用户信息（延迟1秒）
function getUserInfo() {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve({
                id: 1001,
                name: '张三',
                age: 28
            });
        }, 1000);
    });
}

// 模拟根据用户ID获取订单（延迟1秒）
function getOrdersByUserId(userId) {
    return new Promise(resolve => {
        setTimeout(() => {
            resolve([
                { orderId: 'ORD2025001', amount: 199.99 },
                { orderId: 'ORD2025002', amount: 299.99 }
            ]);
        }, 1000);
    });
}

// 使用async/await处理异步流程
async function getUserAndOrders() {
    try {
        console.log('开始获取用户信息...');
        const user = await getUserInfo();
        console.log('获取到用户信息:', user);

        console.log(`开始获取用户${user.id}的订单...`);
        const orders = await getOrdersByUserId(user.id);
        console.log('获取到订单列表:', orders);

        return { user, orders };
    } catch (error) {
        console.error('处理过程中出错:', error);
        throw error;
    }
}

// 执行示例
(async () => {
    const result = await getUserAndOrders();
    console.log('最终结果:', result);
})();
